/**********************************************
* @file    	main.c
* @author 	dralee
* @version	v1.0
* @date		2021-12-13
* @brief	SPI FLASH文件系统
***********************************************/
#include "stm32f10x.h"
#include "led.h"
#include "spi_flash.h"
#include "usart.h"
#include "ff.h"

FATFS fs;														// FatFs文件系统对象
FIL fnew;														// 文件对象
FRESULT res_flash;									// 文件操作结果
UINT fnum;													// 文件成功读写数量
BYTE readBuffer[1024] = {0};				// 读缓冲区
BYTE writeBuffer[] = "这是第一个SPI FLASH版的FatFs文件系统测试，新建文件测试下看看\r\n"; // 写缓冲区

/**
 *****************************************
 * @brief 主函数
 * @param 无
 * @retval 无
 *****************************************/
int main(void)
{
	LED_GPIO_Config();
	USART_Config();						// 115200 8-N-1
	
	LED_BLUE;									// 开始为蓝灯
	printf("****** SPI FLASH文件系统******");
	// 在外部SPI FLASH挂载文件系统，文件系统挂载时会对SPI设备初始化，初始化函数调用流程：
	// f_mount()->find_volume()->disk_initialize()->SPI_FLASH_Init()
	res_flash = f_mount(&fs, "1:", 1); // SPI FLASH处于索引1的存储外设diskio.c中定义SPI_FLASH
	
	if(res_flash == FR_NO_FILESYSTEM) // 没有文件系统就格式化创建文件系统
	{
		printf("> FLASH还没有文件系统，即将进行格式化...\r\n");
		res_flash = f_mkfs("1:",0,0,0); // 格式化
	}
	
	
	
	
	
	
	
	
	
	
	
	while(1)
	{
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	}
}
